package vista;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import controlador.Coordinador;

public class VentanaNuevoUsuario extends JFrame implements ActionListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Coordinador miCoordinador;
	private JLabel labelTitulo;
	private JLabel labelContrasenia;
	private JTextField textNombre;
	private JPasswordField textContrasenia;
	private JButton botonGuardar;

	public VentanaNuevoUsuario(Coordinador unCoordinador) {
		miCoordinador = unCoordinador;

		labelTitulo = new JLabel();
		labelTitulo.setText("POR FAVOR ELIJA UN NOMBRE");
		labelTitulo.setBounds(120, 80, 380, 40);
		labelTitulo.setFont(new java.awt.Font("Verdana", 1, 15));
		add(labelTitulo);

		textNombre = new JTextField();
		textNombre.setBounds(150, 120, 190, 25);
		textNombre.setText("");
		add(textNombre);

		labelContrasenia = new JLabel();
		labelContrasenia.setText("Password");
		labelContrasenia.setBounds(150, 165, 70, 10);
		add(labelContrasenia);

		textContrasenia = new JPasswordField();
		textContrasenia.setBounds(150, 180, 190, 25);
		textContrasenia.setText("");
		add(textContrasenia);

		botonGuardar = new JButton();
		botonGuardar.setBounds(180, 220, 120, 25);
		botonGuardar.setText("Guardar");

		botonGuardar.addActionListener(this);
		add(botonGuardar);

		setSize(480, 350);
		setTitle("GPS-Challenge (Nuevo Usuario)");
		setLocationRelativeTo(null);
		setResizable(false);
		setLayout(null);
	}

	public void setCoordinador(Coordinador unCoordinador) {
		miCoordinador = unCoordinador;
	}

	@SuppressWarnings("deprecation")
	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == botonGuardar) {
			String nombreJugador = textNombre.getText();
			if (textNombre.getText().contentEquals("")|| textContrasenia.getText().contentEquals("") || miCoordinador.getMiJuego().nombreUsuarioExistente(
							nombreJugador)) {
				javax.swing.JOptionPane.showMessageDialog(null,"WARNING: Error en el ingreso de datos","DateInvalidException",javax.swing.JOptionPane.ERROR_MESSAGE);
			} else {
				this.dispose();
				miCoordinador.getMiJugador().setNombre(textNombre.getText());
				miCoordinador.getMiJugador().setContrasenia(textContrasenia.getText());
				miCoordinador.setMiVentanaMenu(new VentanaMenu(miCoordinador));
				miCoordinador.mostrarVentanaMenu();
			}
		}
	}

}
